home *** CD-ROM | disk | FTP | other *** search
/ Power DOS 1996 July / Power DOS - July 1996.iso / sound / c_labs / awe / adip.exe / ADIP01.ZIP / DOS / INCLUDE / CTAWEAPI.H next >
C/C++ Source or Header  |  1995-07-24  |  19KB  |  486 lines

  1. /****************************************************************************\
  2. *                                                                            *
  3. * CTAWEAPI.H SB AWE32 DOS API header                                         *
  4. *                                                                            *
  5. * (C) Copyright Creative Technology Ltd. 1992-94. All rights reserved        *
  6. * worldwide.                                                                 *
  7. *                                                                            *
  8. * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY      *
  9. * KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE        *
  10. * IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR      *
  11. * PURPOSE.                                                                   *
  12. *                                                                            *
  13. * You have a royalty-free right to use, modify, reproduce and                *
  14. * distribute the Sample Files (and/or any modified version) in               *
  15. * any way you find useful, provided that you agree to                        *
  16. * the Creative's Software Licensing Aggreement and you also agree that       *
  17. * Creative has no warranty obligations or liability for any Sample Files.    *
  18. *                                                                            *
  19. \****************************************************************************/
  20.  
  21. /****************************************************************************\
  22. *      File name       : CTAWEAPI.H                                          *
  23. *                                                                            *
  24. *      Programmer      : Creative SB AWE32 Team                              *
  25. *                        Creative Technology Ltd, 1994. All rights reserved. *
  26. *                                                                            *
  27. *      Version         : 2.50b                                               *
  28. *                                                                            *
  29. \****************************************************************************/
  30.  
  31. #ifndef _CTAWEAPI
  32. #define _CTAWEAPI
  33.  
  34.  
  35. #pragma pack(1)
  36.  
  37.  
  38. #define MAXBANKS            64      /* maximum number of banks */
  39. #define MAXNRPN             32      /* maximum number of NRPN */
  40.  
  41.  
  42. #if defined(__FLAT__) || defined(__HIGHC__) || defined(DOS386) || defined(__NDPC__)
  43.     #if defined(FAROBJ) && !defined(__NDPC__)
  44.         #ifdef __HIGHC__
  45.             #define _FAR_   _Far
  46.         #else
  47.             #define _FAR_   _far
  48.         #endif
  49.     #else
  50.         #define _FAR_
  51.     #endif
  52.     #define PACKETSIZE      8192        /* packet size for 32bit libraries */
  53. #else
  54.     #define PACKETSIZE      512         /* packet size for real mode libraries */
  55. #endif
  56.  
  57.  
  58. #if defined(__NDPC__)
  59.     #define _PASCAL_
  60. #endif
  61.  
  62.  
  63. #if defined(__HIGHC__)
  64.     #pragma Push_align_members(1)
  65.     #pragma Global_aliasing_convention("_%r")
  66.     #define _PASCAL_    _DCC((_DEFAULT_CALLING_CONVENTION|_CALLEE_POPS_STACK) & \
  67.                              ~ (_REVERSE_PARMS|_OVERLOADED))
  68. #endif
  69.  
  70.  
  71. #ifdef __WATCOMC__
  72.     /* pragma to tell the compiler to put all data elements into CODE segment. */
  73.     #ifdef _DATA_IN_CODE
  74.         #pragma data_seg("_CODE", "");
  75.     #endif
  76. #endif
  77.  
  78.  
  79. typedef unsigned char           BYTE;
  80. typedef unsigned short          WORD;
  81. typedef unsigned long           DWORD;
  82.  
  83. #ifndef _FAR_
  84. #define _FAR_                   _far
  85. #endif
  86.  
  87. #ifndef _PASCAL_
  88. #define _PASCAL_                _pascal
  89. #endif
  90.  
  91.  
  92. #if defined(__cplusplus)
  93. extern "C" {
  94. #endif
  95.  
  96.  
  97. /* Start of modules */
  98. extern int* __midieng_code(void);
  99. extern int* __sysex_code(void);
  100. extern int* __sfhelp1_code(void);
  101. extern int* __sfhelp2_code(void);
  102. extern int* __sbkload_code(void);
  103. extern int* __wavload_code(void);
  104. extern int* __hardware_code(void);
  105. extern int* __nrpn_code(void);
  106. extern int* __c3da_code(void);
  107. extern int __midivar_data;
  108. extern int __nrpnvar_data;
  109. extern int __embed_data;
  110.  
  111. #ifdef FAROBJ
  112. typedef char SCRATCH[692];
  113. #else
  114. typedef char SCRATCH[552];
  115. #endif
  116. typedef char SOUNDFONT[134];
  117. typedef char GCHANNEL[20];
  118. typedef char MIDICHANNEL[30];
  119. typedef char NRPNCHANNEL[90];
  120.  
  121. typedef struct {
  122.     WORD bank_no;               /* Slot number being used */
  123.     WORD total_banks;           /* Total number of banks */
  124.     long _FAR_* banksizes;      /* Pointer to a list of bank sizes */
  125.     long reserved;              /* Unused */
  126.     char _FAR_* data;           /* Address of buffer of size >= PACKETSIZE */
  127.     char _FAR_* presets;        /* Allocated memory for preset data */
  128.  
  129.     long total_patch_ram;       /* Total patch ram available */
  130.     WORD no_sample_packets;     /* Number of packets of sound sample to stream */
  131.     long sample_seek;           /* Start file location of sound sample */
  132.     long preset_seek;           /* Address of preset_seek location */
  133.     long preset_read_size;      /* Number of bytes from preset_seek to allocate and read */
  134.     long preset_size;           /* Preset actual size */
  135. } SOUND_PACKET;
  136.  
  137. #ifdef NEW_WP
  138. typedef struct {
  139.     WORD tag;               /* Must be 0x200 */
  140.     WORD preset_size;       /* Preset table of this size is required */
  141.     WORD no_wave_packets;   /* Number of packets of Wave sample to stream. */
  142.  
  143.     WORD bank_no;           /* bank number */
  144.     char FAR* data;         /* Address of packet of size PACKETSIZE */
  145.     char FAR* presets;      /* Allocated memory for preset data */
  146.     LONG sample_size;       /* Sample size, i.e. number of samples */
  147.     LONG samples_per_sec;   /* Samples per second */
  148.     WORD bits_per_sample;   /* Bits per sample, 8 or 16 */
  149.     WORD no_channels;       /* Number of channels, 1=mono, 2=stereo */
  150.     WORD looping;           /* Looping? 0=no, 1=yes */
  151.     LONG startloop;         /* if looping, then these are the addresses */
  152.     LONG endloop;
  153.     WORD reserved1;
  154.  
  155.     WORD patch_no;          /* all values follow that of NRPNs */
  156.     SHORT delayLfo1;        /* not documented yet */
  157.     SHORT freqLfo1;
  158.     SHORT delayLfo2;
  159.     SHORT freqLfo2;
  160.     SHORT delayEnv1;
  161.     SHORT attackEnv1;
  162.     SHORT holdEnv1;
  163.     SHORT decayEnv;
  164.     SHORT sustainEnv1;
  165.     SHORT releaseEnv1;
  166.     SHORT delayEnv2;
  167.     SHORT attackEnv2;
  168.     SHORT holdEnv2;
  169.     SHORT decayEnv;
  170.     SHORT sustainEnv2;
  171.     SHORT releaseEnv2;
  172.     SHORT initialPitch;
  173.     SHORT lfo1ToPitch;
  174.     SHORT lfo2ToPitch;
  175.     SHORT env1ToPitch;
  176.     SHORT lfo1ToVolume;
  177.     SHORT initialFilterFc;
  178.     SHORT initialFilterQ;
  179.     SHORT lfo1ToFilterFc;
  180.     SHORT env1ToFilterFc;
  181.     SHORT chorusSend;
  182.     SHORT reverbSend;
  183.     SHORT panSend;
  184.     SHORT coarseTune;
  185.     SHORT fineTune;
  186. } WAVE_PACKET;
  187. #else
  188. typedef struct {
  189.     WORD tag;                   /* Must be 0x100 or 0x101 */
  190.     WORD preset_size;           /* Preset table of this size is required */
  191.     WORD no_wave_packets;       /* Number of packets of Wave sample to stream. */
  192.  
  193.     WORD bank_no;               /* Bank number */
  194.     char _FAR_* data;           /* Address of packet of size PACKETSIZE */
  195.     char _FAR_* presets;        /* Allocated memory for preset data */
  196.     long sample_size;           /* Sample size, i.e. number of samples */
  197.     long samples_per_sec;       /* Samples per second */
  198.     WORD bits_per_sample;       /* Bits per sample, 8 or 16 */
  199.     WORD no_channels;           /* Number of channels, 1=mono, 2=stereo */
  200.     WORD looping;               /* Looping? 0=no, 1=yes */
  201.     long startloop;             /* If looping, then these are the addresses */
  202.     long endloop;
  203.     WORD release;               /* Release time, 0=24ms, 8191=23.78s */
  204. } WAVE_PACKET;
  205. #endif
  206.  
  207. typedef struct {
  208.     BYTE _FAR_* SPad1;
  209.     BYTE _FAR_* SPad2;
  210.     BYTE _FAR_* SPad3;
  211.     BYTE _FAR_* SPad4;
  212.     BYTE _FAR_* SPad5;
  213.     BYTE _FAR_* SPad6;
  214.     BYTE _FAR_* SPad7;
  215. } SOUNDPAD;
  216.  
  217. #define c3daSTART           0
  218. #define c3daSTOP            1
  219. #define c3daPAUSE           2
  220.  
  221. #define c3daSUCCESS         0
  222. #define c3daFAILURE         1
  223.  
  224. typedef int c3daError;
  225. typedef int c3daSoundState;
  226.  
  227. typedef struct {
  228.     unsigned            magic;
  229.     int                 id;
  230.     int                 sound_state;
  231.     unsigned            bank;           /* MIDI bank, program, & note no. */
  232.     unsigned            program;
  233.     unsigned            note;
  234.     int            x;        /* x position relative to receiver */ 
  235.     int            y;        /* y position relative to receiver */ 
  236.     int                 z;              /* z position relative to receiver */
  237.     char                data[92];
  238. } c3daEmitter;
  239.  
  240. typedef struct {
  241.     unsigned            magic;
  242.     int            x;        /* current x position (absolute) */ 
  243.     int            y;        /* current y position (absolute) */ 
  244.     int                 z;              /* current z position (absolute) */
  245.     int                 az_f;           /* "face" azimuth angle */
  246.     int            yaw;        /* orientation */
  247.     int            pitch;        /*      "      */
  248.     int            roll;        /*      "      */
  249. } c3daReceiver;
  250.  
  251.  
  252. /* AWE32 variables */
  253. extern WORD         awe32NumG;
  254. extern WORD         awe32BaseAddx[3];
  255. extern DWORD        awe32DramSize;
  256. extern WORD         awe32RTimePan;
  257.  
  258. /* MIDI variables */
  259. extern SCRATCH      awe32Scratch;
  260. extern SOUNDFONT    awe32SFont[4];
  261. extern GCHANNEL     awe32GChannel[32];
  262. extern MIDICHANNEL  awe32MIDIChannel[16];
  263. extern SOUNDPAD     awe32SoundPad;
  264.  
  265. /* NRPN variables */
  266. extern NRPNCHANNEL  awe32NRPNChannel[16];
  267.  
  268. /* SoundFont objects */
  269. extern BYTE awe32SPad1Obj[];
  270. extern BYTE awe32SPad2Obj[];
  271. extern BYTE awe32SPad3Obj[];
  272. extern BYTE awe32SPad4Obj[];
  273. extern BYTE awe32SPad5Obj[];
  274. extern BYTE awe32SPad6Obj[];
  275. extern BYTE awe32SPad7Obj[];
  276.  
  277. /* AWE register functions */
  278. extern void _PASCAL_ awe32RegW(WORD, WORD);
  279. extern WORD _PASCAL_ awe32RegRW(WORD);
  280. extern void _PASCAL_ awe32RegDW(WORD, DWORD);
  281. extern DWORD _PASCAL_ awe32RegRDW(WORD);
  282.  
  283. /* MIDI support functions */
  284. extern WORD _PASCAL_ awe32InitMIDI(void);
  285. extern WORD _PASCAL_ awe32NoteOn(WORD, WORD, WORD);
  286. extern WORD _PASCAL_ awe32NoteOff(WORD, WORD, WORD);
  287. extern WORD _PASCAL_ awe32ProgramChange(WORD, WORD);
  288. extern WORD _PASCAL_ awe32Controller(WORD, WORD, WORD);
  289. extern WORD _PASCAL_ awe32PolyKeyPressure(WORD, WORD, WORD);
  290. extern WORD _PASCAL_ awe32ChannelPressure(WORD, WORD);
  291. extern WORD _PASCAL_ awe32PitchBend(WORD, WORD, WORD);
  292. extern WORD _PASCAL_ awe32Sysex(WORD, BYTE _FAR_*, WORD);
  293. extern WORD _PASCAL_ __awe32NoteOff(WORD, WORD, WORD, WORD);
  294. extern WORD _PASCAL_ __awe32IsPlaying(WORD, WORD, WORD, WORD);
  295.  
  296. /* Effects support functions */
  297. extern WORD _PASCAL_ awe32Chorus(WORD);
  298. extern WORD _PASCAL_ awe32Reverb(WORD);
  299. extern WORD _PASCAL_ awe32Bass(WORD);
  300. extern WORD _PASCAL_ awe32Treble(WORD);
  301.  
  302. /* NRPN support functions */
  303. extern WORD _PASCAL_ awe32InitNRPN(void);
  304.  
  305. /* Hardware support functions */
  306. extern WORD _PASCAL_ awe32Detect(WORD);
  307. extern WORD _PASCAL_ awe32InitHardware(void);
  308. extern WORD _PASCAL_ awe32Terminate(void);
  309. extern WORD _PASCAL_ awe32Check(WORD, DWORD*, DWORD*, DWORD*);
  310. extern WORD _PASCAL_ awe32Reverb(WORD);
  311. extern WORD _PASCAL_ awe32Chorus(WORD);
  312. extern WORD _PASCAL_ awe32Treble(WORD);
  313. extern WORD _PASCAL_ awe32Bass(WORD);
  314.  
  315. /* SoundFont support functions */
  316. extern WORD _PASCAL_ awe32TotalPatchRam(SOUND_PACKET _FAR_*);
  317. extern WORD _PASCAL_ awe32DefineBankSizes(SOUND_PACKET _FAR_*);
  318. extern WORD _PASCAL_ awe32SFontLoadRequest(SOUND_PACKET _FAR_*);
  319. extern WORD _PASCAL_ awe32StreamSample(SOUND_PACKET _FAR_*);
  320. extern WORD _PASCAL_ awe32SetPresets(SOUND_PACKET _FAR_*);
  321. extern WORD _PASCAL_ awe32SetPresetsEx(SOUND_PACKET _FAR_*);
  322. extern WORD _PASCAL_ awe32ReleaseBank(SOUND_PACKET _FAR_*);
  323. extern WORD _PASCAL_ awe32ReleaseAllBanks(SOUND_PACKET _FAR_*);
  324. extern WORD _PASCAL_ awe32WPLoadRequest(WAVE_PACKET _FAR_*);
  325. extern WORD _PASCAL_ awe32WPLoadWave(WAVE_PACKET _FAR_*);
  326. extern WORD _PASCAL_ awe32WPStreamWave(WAVE_PACKET _FAR_*);
  327. extern WORD _PASCAL_ awe32WPBuildSFont(WAVE_PACKET _FAR_*);
  328.  
  329. /* Audio Spatialization API */
  330.  
  331. /* system functions */
  332. extern c3daError _PASCAL_ c3daInit(void);
  333. extern c3daError _PASCAL_ c3daEnd(void);
  334. extern c3daError _PASCAL_ c3daSetMaxDistance (int);
  335. extern c3daError _PASCAL_ c3daSetDopplerEffect(unsigned);
  336.  
  337. /* emitter functions */
  338. extern c3daError _PASCAL_ c3daCreateEmitter(c3daEmitter _FAR_*, int, int, int );
  339. extern c3daError _PASCAL_ c3daDestroyEmitter(c3daEmitter _FAR_*);
  340. extern c3daError _PASCAL_ c3daSetEmitterMIDISource(c3daEmitter _FAR_*, unsigned, unsigned, unsigned);
  341. extern c3daError _PASCAL_ c3daSetEmitterPosition(c3daEmitter _FAR_*, int, int, int);
  342. extern c3daError _PASCAL_ c3daSetEmitterOrientation(c3daEmitter _FAR_*, int, int, int);
  343. extern c3daError _PASCAL_ c3daSetEmitterSoundState(c3daEmitter _FAR_*, c3daSoundState);
  344. extern c3daError _PASCAL_ c3daSetEmitterGain(c3daEmitter _FAR_*, unsigned);
  345. extern c3daError _PASCAL_ c3daSetEmitterPitchInc(c3daEmitter _FAR_*, int);
  346.  
  347. /* receiver functions */
  348. extern c3daError _PASCAL_ c3daCreateReceiver(c3daReceiver _FAR_*, int, int, int );
  349. extern c3daError _PASCAL_ c3daDestroyReceiver(c3daReceiver _FAR_*);
  350. extern c3daError _PASCAL_ c3daGetActiveReceiver(c3daReceiver _FAR_* _FAR_*);
  351. extern c3daError _PASCAL_ c3daSetActiveReceiver(c3daReceiver _FAR_*);
  352. extern c3daError _PASCAL_ c3daSetReceiverPosition(c3daReceiver _FAR_*, int, int, int);
  353.  
  354. /* End of modules */
  355. extern int* __midieng_ecode(void);
  356. extern int* __hardware_ecode(void);
  357. extern int* __sysex_ecode(void);
  358. extern int* __sfhelp1_ecode(void);
  359. extern int* __sfhelp2_ecode(void);
  360. extern int* __sbkload_ecode(void);
  361. extern int* __wavload_ecode(void);
  362. extern int* __nrpn_ecode(void);
  363. extern int* __c3da_ecode(void);
  364. extern int __midivar_edata;
  365. extern int __nrpnvar_edata;
  366. extern int __embed_edata;
  367.  
  368.  
  369. #if defined(__cplusplus)
  370. }
  371. #endif
  372.  
  373.  
  374. #if defined(__SC__)
  375.     #pragma pack()
  376. #endif
  377.  
  378.  
  379. #if defined(__HIGHC__)
  380.     #pragma Pop_align_members
  381.     #pragma Global_aliasing_convention()
  382.     #pragma Alias(awe32RegW,"AWE32REGW")
  383.     #pragma Alias(awe32RegRW,"AWE32REGRW")
  384.     #pragma Alias(awe32RegDW,"AWE32REGDW")
  385.     #pragma Alias(awe32RegRDW,"AWE32REGRDW")
  386.     #pragma Alias(awe32InitMIDI,"AWE32INITMIDI")
  387.     #pragma Alias(awe32NoteOn,"AWE32NOTEON")
  388.     #pragma Alias(awe32NoteOff,"AWE32NOTEOFF")
  389.     #pragma Alias(awe32ProgramChange,"AWE32PROGRAMCHANGE")
  390.     #pragma Alias(awe32Controller,"AWE32CONTROLLER")
  391.     #pragma Alias(awe32PolyKeyPressure,"AWE32POLYKEYPRESSURE")
  392.     #pragma Alias(awe32ChannelPressure,"AWE32CHANNELPRESSURE")
  393.     #pragma Alias(awe32PitchBend,"AWE32PITCHBEND")
  394.     #pragma Alias(awe32Sysex,"AWE32SYSEX")
  395.     #pragma Alias(awe32Chorus,"AWE32CHORUS")
  396.     #pragma Alias(awe32Reverb,"AWE32REVERB")
  397.     #pragma Alias(awe32Bass,"AWE32BASS")
  398.     #pragma Alias(awe32Treble,"AWE32TREBLE")
  399.     #pragma Alias(__awe32NoteOff,"__AWE32NOTEOFF")
  400.     #pragma Alias(__awe32IsPlaying,"__AWE32ISPLAYING")
  401.     #pragma Alias(awe32InitNRPN,"AWE32INITNRPN")
  402.     #pragma Alias(awe32Detect,"AWE32DETECT")
  403.     #pragma Alias(awe32InitHardware,"AWE32INITHARDWARE")
  404.     #pragma Alias(awe32Terminate,"AWE32TERMINATE")
  405.     #pragma Alias(awe32TotalPatchRam,"AWE32TOTALPATCHRAM")
  406.     #pragma Alias(awe32DefineBankSizes,"AWE32DEFINEBANKSIZES")
  407.     #pragma Alias(awe32SFontLoadRequest,"AWE32SFONTLOADREQUEST")
  408.     #pragma Alias(awe32StreamSample,"AWE32STREAMSAMPLE")
  409.     #pragma Alias(awe32SetPresets,"AWE32SETPRESETS")
  410.     #pragma Alias(awe32SetPresetsEx,"AWE32SETPRESETSEX")
  411.     #pragma Alias(awe32ReleaseBank,"AWE32RELEASEBANK")
  412.     #pragma Alias(awe32ReleaseAllBanks,"AWE32RELEASEALLBANKS")
  413.     #pragma Alias(awe32WPLoadRequest,"AWE32WPLOADREQUEST")
  414.     #pragma Alias(awe32WPLoadWave,"AWE32WPLOADWAVE")
  415.     #pragma Alias(awe32WPStreamWave,"AWE32WPSTREAMWAVE")
  416.     #pragma Alias(awe32WPBuildSFont,"AWE32WPBUILDSFONT")
  417.     #pragma Alias(awe32Check,"AWE32CHECK")
  418.     #pragma Alias(c3daInit,"C3DAINIT")
  419.     #pragma Alias(c3daEnd,"C3DAEND")
  420.     #pragma Alias(c3daSetMaxDistance,"C3DASETMAXDISTANCE")
  421.     #pragma Alias(c3daSetDopplerEffect,"C3DASETDOPPLEREFFECT")
  422.     #pragma Alias(c3daCreateEmitter,"C3DACREATEEMITTER")
  423.     #pragma Alias(c3daDestroyEmitter,"C3DADESTROYEMITTER")
  424.     #pragma Alias(c3daSetEmitterMIDISource,"C3DASETEMITTERMIDISOURCE")
  425.     #pragma Alias(c3daSetEmitterPosition,"C3DASETEMITTERPOSITION")
  426.     #pragma Alias(c3daSetEmitterOrientation,"C3DASETEMITTERORIENTATION")
  427.     #pragma Alias(c3daSetEmitterSoundState,"C3DASETEMITTERSOUNDSTATE")
  428.     #pragma Alias(c3daSetEmitterGain,"C3DASETEMITTERGAIN")
  429.     #pragma Alias(c3daSetEmitterPitchInc,"C3DASETEMITTERPITCHINC")
  430.     #pragma Alias(c3daCreateReceiver,"C3DACREATERECEIVER")
  431.     #pragma Alias(c3daDestroyReceiver,"C3DADESTROYRECEIVER")
  432.     #pragma Alias(c3daGetActiveReceiver,"C3DAGETACTIVERECEIVER")
  433.     #pragma Alias(c3daSetActiveReceiver,"C3DASETACTIVERECEIVER")
  434.     #pragma Alias(c3daSetReceiverPosition,"C3DASETRECEIVERPOSITION")
  435. #endif
  436.  
  437.  
  438. #if defined(__WATCOMC__)
  439.     #pragma pack()
  440.     #pragma aux awe32NumG "_*"
  441.     #pragma aux awe32BaseAddx "_*"
  442.     #pragma aux awe32DramSize "_*"
  443.     #pragma aux awe32RTimePan "_*"
  444.     #pragma aux awe32Scratch "_*"
  445.     #pragma aux awe32SFont "_*"
  446.     #pragma aux awe32GChannel "_*"
  447.     #pragma aux awe32MIDIChannel "_*"
  448.     #pragma aux awe32SoundPad "_*"
  449.     #pragma aux awe32NRPNChannel "_*"
  450.     #pragma aux awe32SPad1Obj "_*"
  451.     #pragma aux awe32SPad2Obj "_*"
  452.     #pragma aux awe32SPad3Obj "_*"
  453.     #pragma aux awe32SPad4Obj "_*"
  454.     #pragma aux awe32SPad5Obj "_*"
  455.     #pragma aux awe32SPad6Obj "_*"
  456.     #pragma aux awe32SPad7Obj "_*"
  457.     #pragma aux __midieng_code "_*"
  458.     #pragma aux __midieng_ecode "_*"
  459.     #pragma aux __hardware_code "_*"
  460.     #pragma aux __hardware_ecode "_*"
  461.     #pragma aux __sbkload_code "_*"
  462.     #pragma aux __sbkload_ecode "_*"
  463.     #pragma aux __wavload_code "_*"
  464.     #pragma aux __wavload_ecode "_*"
  465.     #pragma aux __nrpn_code "_*"
  466.     #pragma aux __nrpn_ecode "_*"
  467.     #pragma aux __c3da_code "_*"
  468.     #pragma aux __c3da_ecode "_*"
  469.     #pragma aux __sfhelp1_code "_*"
  470.     #pragma aux __sfhelp1_ecode "_*"
  471.     #pragma aux __sfhelp2_code "_*"
  472.     #pragma aux __sfhelp2_ecode "_*"
  473.     #pragma aux __midivar_data "_*"
  474.     #pragma aux __midivar_edata "_*"
  475.     #pragma aux __nrpnvar_data "_*"
  476.     #pragma aux __nrpnvar_edata "_*"
  477.     #pragma aux __embed_data "_*"
  478.     #pragma aux __embed_edata "_*"
  479. #endif
  480.  
  481.  
  482. #pragma pack()
  483.  
  484.  
  485. #endif      /* _CTAWEAPI */
  486.